<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 搞清楚toString和valueOf的区别
        //  let obj = {
        //     key: 10,
        //     toString() {
        //         console.log('toString调用');
        //         return this.key
        //     },
        //     valueOf() {
        //         console.log('valueOf调用');
        //         return this.key
        //     }
        //  }
        //  let s = String('zzy')
        //  String.prototype.valueOf = function() {
        //     console.log('string的valueOf调用');
        //     return '10'
        //  }
        //  String.prototype.toString = function() {
        //     console.log('string的toString调用');
        //     return '10'
        //  }
        //  console.log(s);
        //  console.log(obj == 1);
        //  console.log(obj == s);
        //  let arr = []
        //  Array.prototype.toString = function () {
        //     console.log('我调用');
        //     return 1
        //  }
        //  console.log(arr == !arr);
        // let n = new Number(10)
        // Number.prototype.toString = function () {
        //     console.log('toString');
        //     return 100
        // }
        // Number.prototype.valueOf = function () {
        //     console.log('valueOf');
        //     return 100
        // }
        // console.log(n + "ooo");
        var aa = {
            i: 10,
            toString: function () {
                console.log('toString');
                return this.i;
            },
            valueOf: function() {
                console.log('valueOf');
                return this.i
            }
        }
        console.log(aa);// 10 toString 这里要用alert
        console.log(+aa); // 10 toString 
        console.log('' + aa); // 10 toString 
        console.log(String(aa)); // 10 toString 
        console.log(Number(aa)); // 10 toString 
        console.log(aa == '10'); // true toString
    </script>
</body>

</html>